/* WARNING!!  This message format is in pre-alpha development.  There is a high
 * probability any of these formats will change, which will cause prior
 * versions to no longer work.  You are more than welcome to setup to help us
 * develop and/or test, but it is NOT recommend you use the server or message
 * formats for production purposes until we at least reach beta development.
 * Thank you.
 */


syntax = "proto3";
import "enums.proto";
import "time.proto";


message Automation {
	string uri = 1;
	repeated AutomationParameter parameters = 2;
	repeated Event events = 3;
}


/* 
 * AutomationParameter: This defines the parameter that an automation affects.
 */
message AutomationParameter {
	ParameterType type = 1;
	string track_uri = 2;
	string plugin_uri = 3;		// Only used when ParameterType = PluginPT
	string parameter = 4;
	
}

/* Event: This is an automation event used to determine what change is being
 * made, when, and how quickly (ChangeType)
 */
message Event {
	float new_value = 1;
	Time start_time = 2;
	Time end_time = 3;
	ChangeType type = 4;
}
